package com.sh.data.engine.domain.normalization.standard.model.domain;

import lombok.Builder;
import lombok.Data;

@Data
@Builder
public class DictionaryTrendDomain {
    private String date;

    private Integer count;

    //  private String id;
    //
    //  @ApiModelProperty(value = "数量趋势")
    //  @JsonFormat(timezone = "GMT+8", pattern = "yyyy.MM.dd")
    //  @DateTimeFormat(pattern = "yyyy.MM.dd")
    //  private Map<String, Long> trend;
    //
    //  public static DictionaryTrendDomain convertTrend(List<Entity> list) {
    //    List<String> collect =
    //        list.stream().map(DictionaryTrendDomain::formatDate).collect(Collectors.toList());
    //    Set<String> set = Sets.newHashSet(collect);
    //    Map<String, Long> map =
    //        Maps.asMap(set, date -> collect.stream().filter(g -> g.equals(date)).count());
    //
    //    DictionaryTrendDomain domain = new DictionaryTrendDomain();
    //    domain.setTrend(map);
    //    return domain;
    //  }
    //
    //  private String percentStr;
    //
    //  private Integer hitCount;
    //
    //  private Integer fieldCount;
    //
    //  public void initPercentStr() {
    //    int hit = hitCount == null ? 0 : hitCount;
    //    int count = fieldCount == null ? 0 : fieldCount;
    //    if (count == 0) {
    //      percentStr = "0%";
    //    } else {
    //      double doubleValue =
    //          new BigDecimal(hit * 100.0 / count).setScale(2,
    // BigDecimal.ROUND_HALF_DOWN).doubleValue();
    //      String temp = doubleValue + "";
    //      temp = temp.replaceAll("0+?$", "");
    //      temp = temp.replaceAll("[.]$", "");
    //      temp = doubleValue + "%";
    //      percentStr = temp;
    //    }
    //  }
    //
    //  @NotNull
    //  public static String getAppendString() {
    //    DateTime dateTime = new DateTime();
    //    DateTime beginDate = DateUtil.beginOfDay(dateTime).offset(DateField.DAY_OF_MONTH, -6);
    //    DateTime endDate = DateUtil.endOfDay(dateTime);
    //    return " where " + MD_RELEASE_TIME + " between '" + beginDate + "' and '" + endDate + "'";
    //  }
    //
    //  @NotNull
    //  public static String formatDate(Entity entity) {
    //    Timestamp timestamp = (Timestamp) entity.get(MD_RELEASE_TIME);
    //    DateTime dateTime = DateTime.of(timestamp);
    //    return dateTime.toString("yyyy.MM.dd");
    //  }
}
